package com.logic.modular.game.statistical.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 玩家统计池(PlayerStatisticalPool2)表实体类
 *
 * @author cxy
 * @since 2025-01-15 10:49:52
 */
@ApiModel("玩家统计池")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
@SuppressWarnings("serial")
public class PlayerStatisticalPool2 extends Model<PlayerStatisticalPool2> {// swagger2,mybatis-plus
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 生成实体字段
    @TableId(type = IdType.AUTO)
    @ApiModelProperty("统计池id")
    private Long id;

    @ApiModelProperty("玩家id")
    private Long playerId;

    @ApiModelProperty("统计类型")
    private Integer type;

    @ApiModelProperty("统计数量")
    private Long value;

    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 序列化版本号
    @TableField(exist = false)
    private static final long serialVersionUID = -26244986529996902L;

    /////////////////////////////////////////////////////////////////////////////////////////////////////////// 获取主键值
    @Override
    public Serializable pkVal() {
        return this.id;
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 非数据库字段
    /////////////////////////////////////////////////////////////////////////////////////////////////////////    领域业务
    public PlayerStatisticalPool2 add(Long value) {
        this.value += value;
        return this;
    }

    public PlayerStatisticalPool2 add(Integer value) {
        this.value += value;
        return this;
    }
}

